有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从输出JSONFILE中删除多余的括号?

我正在使用maeven dependecie来维护java键值的顺序,但问题是在使用jsonArray时会显示一个双括号。有人能告诉我我的错在哪里吗

mssgErreurResult()是一种返回包含所有错误消息的Arraylist的方法。假设JsonFile中的Errors ...是该方法的返回

我得到的是:

{
  "complet": false,
  "erreurs": [
    [
   "Errors ..."
    ]
  ]
}

我想要的是:

{
  "complet": false,
  "erreurs":[
   "Errors ..."
    ]
}

我使用的方法是:

public void ecrireFichierJSon(String fichierSortie) throws
            FichierJsonInvalideException, org.codehaus.jettison.json.JSONException {

        org.codehaus.jettison.json.JSONObject completOrNot = new org.codehaus.jettison.json.JSONObject();
        completOrNot.put("complet", mssgErreurResult().size() <= 0);
        org.codehaus.jettison.json.JSONArray messagesErreur = new org.codehaus.jettison.json.JSONArray();
        messagesErreur.put(mssgErreurResult());
        completOrNot.put("erreurs", messagesErreur);

        try {
            Files.write(Paths.get(fichierSortie), completOrNot.toString().getBytes());
        } catch (IOException e) {
            throw new FichierJsonInvalideException(e.toString());
        }
    }

共 (1) 个答案

  1. # 1 楼答案

    它添加了额外的[…]按组织。科德豪斯。抛弃json。JSONArray messagesErreur,尝试删除它并使用以下内容

    completOrNot.put("erreurs", mssgErreurResult());